// Evol scripts.
// Author:
//    Reid
// Description:
//    Red, the Innkeeper.
// Variable:
//    INN_REGISTER

001-2-28,28,28,0	script	Plush#001-2-28	NPC_RED,{

    function narrator_explication {
        narrator 4,
            l("You will respawn at this place if defeated in combat."),
            l("All you have to do is to select a bed in the upper level anytime after your reservation."),
            l("Unlike other respawn points, an inn can fully restore your HP."),
            l("Of course, you can select a bed somewhere else after your reservation, but you won't get your HP recovery until you choose to get some rest in the inn."),
            l("You can also use your room to get some rest after a long battle. That will consume your reservation but your HP will be fully restored.");
        return;
    }

    function accepted_room {
        .@price = getarg (0);
        if (Zeny < .@price)
        {
            speech 5, l("You don't have enough money, bring @@ E.", .@price);
        }
        else
        {
            emotion E_HAPPY;
            Zeny = Zeny - .@price;
            INN_REGISTER = REDPLUSH_INN;
            PC_IS_DEAD = false;

            speech 5,
                lg("I registered you on the 4th room of the upper level.",
                   "I registered you on the 2nd room of the upper level."),
                l("You can go upstairs and choose a different room if you want.");
            savepoint "001-2-29", 29, g(49, 35);
        }
    }

    function register_room {
        .@price = lognbaselvl(100, 10);

        speech 5,
            l("That will be @@ E to set your respawn point", .@price),
            l("This will remain your respawn point until set elsewhere."),
            l("Is that okay?");

        if (askyesno() == ASK_YES)
        {
            accepted_room (.@price);
        }
        else
        {
            speech 5,
                l("Come back later if you changed your mind!");
        }

        return;
    }

    function lodge_check {
        if (INN_REGISTER == NO_INN)
        {
            register_room;
        }
        else if (INN_REGISTER == REDPLUSH_INN)
        {
            speech 5,
                lg("You are already registered here."),
                l("Go on the upper level if you want to change your room or to use it.");
        }
        else
        {
            speech 5,
                lg("If you are registered somewhere else you will loose that reservation."),
                l("Do you still want to lodge here?");

            if (askyesno() == ASK_YES)
            {
                register_room;
            }
        }
        return;
    }

    speech 4,
        l("Welcome to the Red Plush inn!"),
        l("What do you need?");

    do
    {
        .@q = select (
            l("Could I lodge here for a while?"),
            l("What service do you offer?"),
            l("What is your tipiou trying to do?"),
            l("Nothing."));

        switch (.@q)
        {
            case 1:
                lodge_check;
                break;
            case 2:
                emotion E_WINK;
                speech 5,
                    l("We offer a room for travelers passing by Artis, our beds are comfy and you can be guaranteed to be right as rain after a night here!"),
                    l("If you wake up at the inn after a harsh battle, you will find yourself revitalized in an instant unlike other places where you can rest.");

                narrator_explication;
                break;
            case 3:
                speech 5,
                    l("That poor one is doing his best to fly... But his last meal and the gravity is not helping him so far!");
                break;
            case 4:
                break;
        }
    } while (.@q != 1 && .@q != 4);

    closedialog;
    goodbye;
    close;

OnInit:
    .sex = G_FEMALE;
    .distance = 5;
}

